﻿using System.Collections.Generic;

namespace System.Linq.Functional
{
    public interface IImmutableQueue<T> : IEnumerable<T>
    {
        bool IsEmpty { get; }
        T Peek();
        IImmutableQueue<T> Enqueue(T value);
        IImmutableQueue<T> Dequeue();
    }
}
